|
|
OK, I'm either doing something phenomenally stupid, or there's a blatant bug
in isosurface{} in 3.7rc3.
Step 1) Consider the following simple scene:
#version 3.7;
global_settings { assumed_gamma 2.2 }
camera{ location 5 look_at 0 right x*4/3 }
light_source{<2,4,8>, <1, .8, .6> }
sky_sphere {pigment {gradient -y}}
#declare clipper = difference {box {-2 2} box {<0,-3,0> 3}}
object {clipper pigment {rgbft <0,1,1,.2,.2>} }
I'm declaring an object and displaying it. It is a box with one quarter
taken out. I'm calling it "clipper" because I want to use it to clip another
object.
Step 2) Now add the following object:
sphere {0 2 pigment {rgb 1}}
Since 'clipper' is parially transparent, you can see the back 3/4 though it
with the front quarter exposed.
Step 3) use 'clipper' to clip the sphere, i.e. modify the 'sphere' object
like this:
sphere {0 2 clipped_by {clipper} pigment {rgb 1}}
The front part of the sphere is now clipped away by the 'clipper' box, but
the rest can still be seen in the box. Note the shadow cast by the front
right edge of the sphere onto/into the inside of the sphere.
Step 4) Remove the line that shows the clipper box:
// object {clipper ....
You can now see the (hollow) back 3/4 of a sphere with the opening pointing
at you. You can still see the aforementioned shadow.
So far this is all as I would expect it.
HOWEVER: now do the same thing again, but in step (2), instead of the
sphere{} put this simple isosurface instead:
isosurface{function{ sqrt(x*x+y*y+z*z) }
threshold 2 max_gradient 100 contained_by{ box {-5 5} }
// clipped_by { clipper }
pigment {rgb 1}
}
In steps (2) and (3) I see the exact same thing that I see with the sphere
object. In particular I can see the shadow on step (3) that tells me that I
can see the inside/backside of the isosurface.
But in step 4, the back/inside of the isosurface is gone.
Why?
Post a reply to this message
|
|